home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 12: Textmags & Docs / nf_archive_12.iso / MAGS / SOURCES / ATARI_SRC.ZIP / atari source / HDX_BACK / MVICON / ICON1.C < prev    next >
Encoding:
C/C++ Source or Header  |  2001-02-09  |  1.8 KB  |  92 lines

  1. #include "obdefs.h" 
  2. #include "gemdefs.h"
  3. #include "osbind.h"
  4.  
  5. /* AES (windows and messages) related variables */
  6. int gl_hchar;
  7. int gl_wchar;
  8. int gl_wbox;
  9. int gl_hbox;
  10. int phys_handle;
  11. int handle;
  12. int wi_handle;
  13. int formw, formh, sx, sy, lx, ly;
  14. int xdesk, ydesk, hdesk, wdesk;
  15. int xwork, ywork, hwork, wwork;
  16.  
  17. int contrl[12];
  18. int intin[128];
  19. int ptsin[128];
  20. int intout[128];
  21. int ptsout[128];
  22.  
  23. int work_in[11];
  24. int work_out[57];
  25.  
  26. main()
  27. {
  28.     int gr_mkmx, gr_mkmy;
  29.     int gr_mkmstate, gr_mkkstate;
  30.     int tmpx, tmpy;
  31.     int tmpx1, tmpy1;
  32.     int tmpx2, tmpy2;
  33.     int index, rgb_in[3];
  34.     int draw;
  35.  
  36.     appl_init();
  37.     phys_handle = graf_handle(&gl_wchar, &gl_hchar, &gl_wbox, &gl_hbox);
  38.     wind_get(0, WF_WORKXYWH, &xdesk, &ydesk, &wdesk, &hdesk);
  39.     open_vwork();
  40.     wi_handle = wind_create(0x0040&0x0080, xdesk, ydesk, wdesk, hdesk);
  41.     graf_mouse(3, 0x0L);
  42.     graf_mkstate(&gr_mkmx, &gr_mkmy, &gr_mkmstate, &gr_mkkstate);
  43.     tmpx = gr_mkmx;
  44.     tmpy = gr_mkmy;
  45.     vswr_mode(handle, 3);
  46.     v_enter_cur(handle);
  47.     v_exit_cur(handle);
  48.     graf_mouse(M_OFF, 0x0L);
  49.     drawicon(gr_mkmx,gr_mkmy);
  50.     graf_mouse(M_ON, 0x0L);
  51.     while(!(0x0002&gr_mkmstate))    {
  52.         graf_mkstate(&gr_mkmx, &gr_mkmy, &gr_mkmstate, &gr_mkkstate);
  53.         tmpx1 = gr_mkmx;
  54.         tmpy1 = gr_mkmy;
  55.         graf_mkstate(&gr_mkmx, &gr_mkmy, &gr_mkmstate, &gr_mkkstate);
  56.         if (((tmpx1 != gr_mkmx) || (tmpy1 != gr_mkmy)) &&
  57.                 (0x0001&gr_mkmstate))    {
  58.  
  59.             v_enter_cur(handle);
  60.             v_exit_cur(handle);
  61.             graf_mouse(M_OFF, 0x0L);
  62.             drawicon(gr_mkmx,gr_mkmy);
  63.             graf_mouse(M_ON, 0x0L);
  64.         }
  65.     }
  66.     wind_delete(wi_handle);
  67.     v_clsvwk(handle);
  68.     appl_exit();
  69. }
  70.  
  71. open_vwork()
  72. {
  73.     int i;
  74.  
  75.     for (i=0; i < 10;)
  76.         work_in[i++] = 1;
  77.     work_in[10] = 2;
  78.     handle = phys_handle;
  79.     v_opnvwk(work_in, &handle, work_out);
  80. }
  81.  
  82.  
  83. abs(x, y)
  84. int x,y;
  85. {
  86.     if (x > y)    {
  87.         return(x - y);
  88.     } else {
  89.         return(y - x);
  90.     }
  91. }
  92.